package io.renren.modules.doc.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.renren.modules.doc.handler.VecF16TypeHandler;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;

import java.io.Serializable;

/**
 * 向量检索实体
 */
@Data
@TableName("denserag")
public class DenseRagEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId
    private Long id;

    /**
     * 标题
     */
    private String title;

    /**
     * 内容
     */
    private String content;

    /**
     * 向量嵌入
     * 注意：使用byte[]存储向量数据，对应PostgreSQL的vecf16类型
     * 实际使用时需要通过TypeHandler进行转换
     */
    @TableField(typeHandler = VecF16TypeHandler.class, jdbcType = JdbcType.OTHER)
    private byte[] embeddings;
}
